'use strict';

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller } = app;
  router.post("/login", controller.user.login);
  router.get("/current", controller.user.getUserInfo);
  router.post("/logout", controller.user.logout);
  
  // 测试基础功能用控制器
  router.get('/', controller.home.index);
  router.resources('/subject', '/subject', controller.subject);
  router.resources('/teacher', '/teacher', controller.teacher);
  router.resources('/secretary', '/secretary', controller.secretary);
  router.resources('/student', '/student', controller.student);
  router.resources('/topic', '/topic', controller.topic);
  router.resources('/stufile', '/stufile', controller.stufile);
  router.resources('/pubfile', '/pubfile', controller.pubfile);
  router.resources('/stuinsmsg', '/stuinsmsg', controller.stuinsmsg);
  router.resources('/dirinsmsg', '/dirinsmsg', controller.dirinsmsg);
  // 修改密码用控制器
  router.put('/modifypassstudent/:id', controller.modifypassword.update_student);
  router.put('/modifypassteacher/:id', controller.modifypassword.update_teacher);
  router.put('/modifypasssecretary/:id', controller.modifypassword.update_secretary);
  //教研室主任用控制器
  router.get('/director', controller.director.get_topic); //教研室主任拿到需要审核的数据
  router.put('/director/:id', controller.director.topic_pass);
  router.post('/director', controller.director.topic_not_pass);
  // 指导老师用控制器
  router.get('/instructor_topic', controller.instructor.get_topic); //教师查看已发布选题的列表信息
  router.get('/instructorStudent', controller.instructor.get_topic_student); //教师查看审核的列表信息
  router.get('/studentdetail/:id', controller.instructor.getStudentInfo)  // 指导老师查看学生具体信息用

  // 一下为学生上传文档用控制器
  // 学生上传开题文档用控制器
  router.post('/upload_topic', controller.uploadfile.open_topic_upload);
  // 学生上传中期检查用控制器
  router.post('/upload_midterm', controller.uploadfile.mid_term_inspection);
  // 学生上传毕业论文用控制器
  router.post('/upload_thesis', controller.uploadfile.thesis_inspection);
  // 学生上传答辩准备用控制器
  router.post('/upload_reply', controller.uploadfile.prepare_reply_inspection);
  // 学生上传审核总结用控制器
  router.post('/upload_summary', controller.uploadfile.audit_summary_inspection);

  // 学生查看选题信息控制器,根据学生id找到对应的选题信息
  router.get('/findtopicbystuid/:id', controller.topic.findByStuId);
  // 根据学生的id以及进度选取出消息，根据学生的id以及进度选取出老师最新发送的消息
  router.get('/findbystuidpro', controller.stuinsmsg.findByStuPro);
  // 根据学生id选择出和这个学生有关系的消息记录
  router.get('/findbustuiddesc', controller.stuinsmsg.findBuStuIdDesc);
  // 老师根据选题的id找到对应的消息列表
  router.get('/findbytopiciddesc/:id',controller.dirinsmsg.findbytopicid);
  // 根据学生的id查找学生上传的文档
  router.get('/findByStuCurId', controller.stufile.findByStuCurId);
  //下载测试——完全不行 
  router.post('/download', controller.downloadfile.download);
  // 学生上传头像用路由
  router.post('file_student', '/upload_student_avatar', controller.file.upload_student_avatar);
  // 教师上传头像用路由
  router.post('file_teacher', '/upload_teacher_avatar', controller.file.upload_teacher_avatar);

  // 教师审核的时候需要接收学生需要审核的文档的信息
  router.post('/findbyneedreview',controller.stufile.findbyNeedReview)

  // 指导老师通过学生的文档调用这个函数
  router.post('/passssss',controller.stuinsmsg.passadd);

  // 评阅老师显示需要评阅的学生用
  router.get('/getneedReview',controller.topic.findByNeedReview);













};
